home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / crwdemo / global.bas < prev    next >
BASIC Source File  |  1994-10-03  |  18KB  |  488 lines

  1. '
  2. '               Visual Basic Declarations of CRPE.DLL
  3. '               =====================================
  4. '
  5. '       File:         GLOBAL.BAS
  6. '
  7. '       Author:       Crystal Computer Services, Inc.
  8. '       Date:         15 Apr 92
  9. '
  10. '       Purpose:      This file presents the API to the Crystal Reports
  11. '                     Print Engine DLL.
  12. '
  13. '       Language:     Visual Basic for Windows
  14. '
  15. '       Copyright (c) 1992-1994 Crystal Services
  16. '
  17. '       Revisions:
  18. '
  19. '          CCS  15 Apr 92  -  Original Development
  20. '          KYL  12 Jul 92  -  Modified Existing Declarations
  21. '                             Added Missing Declarations
  22. '          KYL  27 Aug 92  -  Converted to CRPE.DLL
  23. '          CRD  08 Feb 93  -  Added new calls for 2.0 and Global declares for samples
  24. '          CRD  25 Feb 93  -  Added new calls for 2.0 Pro
  25. '          RBC  23 Apr 93  -  Added more new calls, rearranged to match CRPE.H
  26. '          DVA  22 Dec 93  -  Added new calls for 3.0
  27. '          TW   15 Mar 94  -  3.0 call reorganization
  28. '
  29. 'Mark's VB application specific Declarations
  30. '--------------------------------------------------------------------------------------------------
  31.  
  32. Declare Function GetWindow Lib "User" (ByVal hWnd As Integer, ByVal code As Integer) As Integer
  33. Declare Sub MoveWindow Lib "User" (ByVal hWnd As Integer, ByVal l As Integer, ByVal t As Integer, ByVal w As Integer, ByVal h As Integer, ByVal redraw As Integer)
  34. Global Const GW_CHILD = 5
  35. Global Const CASCADE = 0
  36. Global Const TILE_HORIZONTAL = 1
  37. Global Const TILE_VERTICAL = 2
  38. Global Const ARRANGE_ICONS = 3
  39. Global jobnum As Integer
  40. Global TableN As Integer
  41. Global SortN As Integer
  42. Global FormulaName As String
  43. Global SectionCode As Integer
  44. Global ScopeCode As Integer
  45. Global CRWFontName As String
  46. Global CRWFontSize As Integer
  47. Global CRWFontItalic As Integer
  48. Global CRWFontUnderLine As Integer
  49. Global CRWFontStrikeThru As Integer
  50. Global ErrorCode As Integer
  51. Global FieldType As Integer
  52. Global SortDir As Integer
  53. Global BoolCond1 As Integer
  54. Global DateCond1 As Integer
  55. Global GroupCondfield As String
  56.  
  57.  
  58. ' Open, print and close report (used when no changes needed to report)
  59. ' --------------------------------------------------------------------
  60.  
  61. Declare Function PEPrintReport Lib "CRPE.DLL" (ByVal RptName$, ByVal Printer%, ByVal Window%, ByVal Title$, ByVal Lft%, ByVal Top%, ByVal Wdth%, ByVal Height%, ByVal Style As Long, ByVal PWindow%) As Integer
  62.  
  63.  
  64. ' Open and close print engine
  65. ' ---------------------------
  66.  
  67. Declare Function PEOpenEngine Lib "CRPE.DLL" () As Integer
  68.  
  69. Declare Sub PECloseEngine Lib "CRPE.DLL" ()
  70.  
  71.  
  72. ' Get version info
  73. ' ----------------
  74.  
  75. Global Const PE_GV_DLL = 100      ' values for version parameter of PEGetVersion
  76. Global Const PE_GV_ENGINE = 200
  77.  
  78. Declare Function PEGetVersion Lib "CRPE.DLL" (ByVal version%) As Integer
  79.  
  80.  
  81. ' Open and close print job (i.e. report)
  82. ' --------------------------------------
  83.  
  84. Declare Function PEOpenPrintJob Lib "CRPE.DLL" (ByVal RptName$) As Integer
  85.  
  86. Declare Sub PEClosePrintJob Lib "CRPE.DLL" (ByVal PrintJob%)
  87.  
  88.  
  89. ' Start and cancel print job (i.e. print the report, usually after changing report)
  90. ' ---------------------------------------------------------------------------------
  91.  
  92. Declare Function PEStartPrintJob Lib "CRPE.DLL" (ByVal PrintJob%, ByVal WaitOrNot%) As Integer
  93.  
  94. Declare Sub PECancelPrintJob Lib "CRPE.DLL" (ByVal PrintJob%)
  95.  
  96.  
  97. ' Print job status
  98. ' ----------------
  99.  
  100. Declare Function PEIsPrintJobFinished Lib "CRPE.DLL" (ByVal PrintJob%) As Integer
  101.  
  102. Type PEJobInfo
  103.     StructSize As Integer  ' initialize to # of bytes in PEJobInfo
  104.  
  105.     NumRecordsRead As Long
  106.     NumRecordsSelected As Long
  107.     NumRecordsPrinted As Long
  108.  
  109.     DisplayPageN As Integer
  110.     LatestPageN As Integer
  111.     StartPageN As Integer
  112.  
  113.     PrintEnded As Integer
  114. End Type
  115.  
  116. Declare Function PEGetJobStatus Lib "CRPE.DLL" (ByVal PrintJob%, JobInfo As PEJobInfo) As Integer
  117.  
  118.  
  119. ' Print job error codes and messages
  120. ' ----------------------------------
  121.  
  122. Declare Function PEGetErrorCode Lib "CRPE.DLL" (ByVal PrintJob%) As Integer
  123.  
  124. Declare Function PEGetErrorText Lib "CRPE.DLL" (ByVal PrintJob%, TextHandle%, TextLength%) As Integer
  125.  
  126. Declare Function PEGetHandleString Lib "CRPE.DLL" (ByVal TextHandle%, ByVal Buffer$, ByVal BufferLength%) As Integer
  127.  
  128.  
  129. ' Setting the print date
  130. ' ----------------------
  131.  
  132. Declare Function PESetPrintDate Lib "CRPE.DLL" (ByVal PrintJob%, ByVal Date_Year%, ByVal Date_Month%, ByVal Date_Day%) As Integer
  133.  
  134.  
  135. ' Controlling formulas, selection formulas and group selection formulas
  136. ' ---------------------------------------------------------------------
  137.  
  138. Declare Function PEGetFormula Lib "CRPE.DLL" (ByVal PrintJob%, ByVal FormulaName$, TextHandle%, TextLength%) As Integer
  139.  
  140. Declare Function PESetFormula Lib "CRPE.DLL" (ByVal PrintJob%, ByVal FormulaName$, ByVal FormulaString$) As Integer
  141.  
  142. Declare Function PEGetSelectionFormula Lib "CRPE.DLL" (ByVal PrintJob%, TextHandle%, TextLength%) As Integer
  143.  
  144. Declare Function PESetSelectionFormula Lib "CRPE.DLL" (ByVal PrintJob%, ByVal FormulaString$) As Integer
  145.  
  146. Declare Function PEGetGroupSelectionFormula Lib "CRPE.DLL" (ByVal PrintJob%, TextHandle%, TextLength%) As Integer
  147.  
  148. Declare Function PESetGroupSelectionFormula Lib "CRPE.DLL" (ByVal PrintJob%, ByVal FormulaString$) As Integer
  149.  
  150.  
  151. ' Controlling group conditions (i.e. group breaks)
  152. ' ------------------------------------------------
  153.  
  154. Global Const PE_GC_ANYCHANGE = 0  ' values for the Condition parameter of PESetGroupCondition
  155.                            ' use PE_ANYCHANGE for all field types except Date and Boolean
  156.  
  157. Global Const PE_GC_DAILY = 0      ' use these constants for Date fields
  158. Global Const PE_GC_WEEKLY = 1
  159. Global Const PE_GC_BIWEEKLY = 2
  160. Global Const PE_GC_SEMIMONTHLY = 3
  161. Global Const PE_GC_MONTHLY = 4
  162. Global Const PE_GC_QUARTERLY = 5
  163. Global Const PE_GC_SEMIANNUALLY = 6
  164. Global Const PE_GC_ANNUALLY = 7
  165.  
  166. Global Const PE_GC_TOYES = 1      ' use these constants for Boolean fields
  167. Global Const PE_GC_TONO = 2
  168. Global Const PE_GC_EVERYYES = 3
  169. Global Const PE_GC_EVERYNO = 4
  170. Global Const PE_GC_NEXTISYES = 5
  171. Global Const PE_GC_NEXTISNO = 6
  172.  
  173. Declare Function PESetGroupCondition Lib "CRPE.DLL" (ByVal PrintJob%, ByVal SectionCode%, ByVal ConditionField$, ByVal Condition%, ByVal SortDirection%) As Integer
  174.  
  175.  
  176. ' Controlling sort order and group sort order
  177. ' -------------------------------------------
  178.  
  179. Global Const PE_SF_MAXNAMELEN = 50  ' maximum length of a sort field name
  180.  
  181. Global Const PE_SF_DESC = 0         ' values for the Direction parameter
  182. Global Const PE_SF_ASC = 1
  183.  
  184. Declare Function PEGetNSortFields Lib "CRPE.DLL" (ByVal PrintJob%) As Integer
  185.  
  186. Declare Function PEGetNthSortField Lib "CRPE.DLL" (ByVal PrintJob%, ByVal SortNumber%, NameHandle%, NameLength%, Direction%) As Integer
  187.  
  188. Declare Function PESetNthSortField Lib "CRPE.DLL" (ByVal PrintJob%, ByVal SortNumber%, ByVal SortFieldName$, ByVal Direction%) As Integer
  189.  
  190. Declare Function PEDeleteNthSortField Lib "CRPE.DLL" (ByVal PrintJob%, ByVal SortFieldN%) As Integer
  191.  
  192. Declare Function PEGetNGroupSortFields Lib "CRPE.DLL" (ByVal PrintJob%) As Integer
  193.  
  194. Declare Function PEGetNthGroupSortField Lib "CRPE.DLL" (ByVal PrintJob%, ByVal SortFieldN%, NameHandle%, NameLength%, Direction%) As Integer
  195.  
  196. Declare Function PESetNthGroupSortField Lib "CRPE.DLL" (ByVal PrintJob%, ByVal SortFieldN%, ByVal SortGroupName$, ByVal Direction%) As Integer
  197.  
  198. Declare Function PEDeleteNthGroupSortField Lib "CRPE.DLL" (ByVal PrintJob%, ByVal SortFieldN%) As Integer
  199.  
  200.  
  201. ' Controlling databases (see CRPE.H for more comments)
  202. ' ----------------------------------------------------
  203.  
  204. Declare Function PEGetNTables Lib "CRPE.DLL" (ByVal PrintJob%) As Integer
  205.  
  206. Global Const PE_DLL_NAME_LEN = 64
  207. Global Const PE_FULL_NAME_LEN = 256
  208.  
  209. Type PETableType
  210.     StructSize As Integer   ' initialize to # bytes in PETableType
  211.  
  212.     DLLName As String * PE_DLL_NAME_LEN
  213.     DescriptiveName  As String * PE_FULL_NAME_LEN
  214.  
  215.     DBType As Integer
  216. End Type
  217.  
  218. Global Const PE_DT_STANDARD = 1  ' values for DBType
  219.